# -*- coding: utf-8 -*-
from datos_taxonomicos.models import Dato
from django.db import models
from instituciones.models import Institucion
from lineas_de_investigacion.models import LineaInvestigacion
from localidades.models import Pais
from usuarios.models import Usuario
#from especies.models import Especie
#from proyectos.models import Proyecto

# Create your models here.
class Experto(models.Model):
    nombre = models.CharField(max_length=50,verbose_name='*Nombre')
    apellido = models.CharField(max_length=50,verbose_name='*Apellido')
    email = models.EmailField(verbose_name='*Contacto Email')
    paginaweb = models.URLField(verbose_name='Página Web',blank=True,null=True)
    descripcion = models.CharField(max_length=200,verbose_name='Descripción',blank=True,null=True)
    #relacion con Especie, muchas especies
    #especies = models.ManyToManyField(Especie,verbose_name='* Especies',blank=True,null=True)
    #relacion con Institucion, una institucion(o mas de una) o ninguna(si es independiente)
    instituciones = models.ManyToManyField(Institucion,verbose_name='Institución',blank=True,null=True) 
    #relacion con Localidad, una localidad (siempre que sea solo pais de origen, por ejemplo)
    pais = models.ForeignKey(Pais,verbose_name='País',blank=True,null=True)
    #relacion con Linea de investigacion, muchas lineas
    lineas_de_investigacion = models.ManyToManyField(LineaInvestigacion, verbose_name='Línea de Investigación',blank=True,null=True)
    #relacion con dato
    datos = models.ManyToManyField(Dato, verbose_name='Campo',blank=True,null=True)
    #otro campo de texto auxiliar, para saber a que se dedica
    se_dedica_a = models.TextField(blank=True,null=True)
    #relacion con usuario
    usuario = models.OneToOneField(Usuario, unique=True, verbose_name='*Usuario')
    

    
    def __unicode__(self):
        return self.nombre + ' ' + self.apellido
    def referencia_al_link(self):
        return '/expertos/' + str(self.id)
    def en_detalle_html(self):
        datos = [
                 u'Nombre : %s' % self.nombre,
                 u'Apellido : %s' % self.apellido,
                 u'Descripción : %s ' % self.descripcion,
                 u'Página Web : %s' % self.paginaweb,
                 u'Email : %s' % self.email
                 ]
        return datos

    def __init__(self, *args, **kw):
        usuario = kw.pop('usuario', None)
        super(Experto, self).__init__(*args, **kw)
        if usuario:
            self.nombre = usuario.nombre
            self.apellido = usuario.apellido
            self.pais = usuario.pais
            self.email = usuario.user.email
            self.usuario = usuario